// 存放共享状态的:内存了
const state = {
    userInfo: {
        username: "",
        age: 34,
        friends: [{ name: "韩昊疆" }]
    },
    like: "乒乓球"
};
// 一个计算属性.可以对共享的状态获取之前做一些提前的处理
const getters = {
    usernames(state) {
        return state.userInfo.username;
    }
};
// 修改state状态的地方  里面是同步的,唯一可以修改state的地方
const mutations = {
    CHANGEUSERNAME(state, payload) {
        console.log("vuex mutaitons 中" + payload);
        state.userInfo.username = payload;
        // sessionStorage.setItem("userInfo", JSON.stringify(state.userInfo));
    }
};
// 页面中可以通过$store.dispatch触发action的方法 action中可以通过commit触发mutations方法近而修改状态; 里面可以存在异步
const actions = {
    changeUser({ commit, dispatch }, payload) {
        commit("CHANGEUSERNAME", payload);
        dispatch("tags/changeUser1", { root: true });
    },
    changeUser1({ commit }, payload) {
        commit("CHANGEUSERNAME", payload);
    }
};
export default {
    state,
    getters,
    mutations,
    actions,
    namespaced: true
};
